拼数字
思路分析
代码实现
#include<bits/stdc++.h>
using namespace std;
#define endl '\n'
typedef long long LL;
int n,m;
string s;
vector<int> A;
bool div(vector<int> &A,int b){
vector<int> C;
int r=0;
for(int i=A.size()-1;i>=0;i--){
r=r*10+A[i];
C.push_back(r/b);
r%=b;
}
reverse(C.begin(),C.end());
while(C.size()>1 && C.back()==0)
C.pop_back();
return r==0;
}
int main()
{
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
cin>>n>>m;
for(int i=0;i<n;i++) s+='2';
for(int i=0;i<m;i++) s+='3';
string res="-1";
do{
for(int i=s.size()-1;i>=0;i--){
A.push_back(s[i]-'0');
}
if(div(A,2023))
res=s;
}while(next_permutation(s.begin(),s.end()));
cout<<res;
return 0;
}
同类题型
视频讲解
⬅️ 抓娃娃 🏠 00-冲刺国赛 ➡️ 逃跑
💬 评论